package com.jadefashion.mapper;

import com.jadefashion.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface RoleMapper {

    //角色数据分页展示
    List<Role> queryPage(@Param("queryString") String queryString);

    //添加角色信息
    void addRole(Role role);

    //添加角色与菜单的中间表信息
    void addRoleAndMenu(@Param("id") Integer id,@Param("menuId") Integer menuId);

    //添加角色与权限的中间表信息
    void addRoleAndPer(@Param("id")Integer id,@Param("permissionId") Integer permissionId);


    //添加角色权限详情
    void addRoleForPermissionDetail(@Param("permissionIds") List<Integer> permissionIds, @Param("id") Integer id);

    //删除角色对应权限数据
    void deletePermissionForRoleByDetail(@Param("deleteIds") List<Integer> deleteIds, @Param("currentRowId") Integer currentRowId);

    //添加角色菜单详情
    void addRoleForMenuDetail(@Param("menuIds") List<Integer> menuIds, @Param("id") Integer id);

    //删除角色对应菜单数据
    void deleteMenuForRoleByDetail(@Param("deleteIds") List<Integer> deleteIds, @Param("currentRowId") Integer currentRowId);

    //编辑role
    void updateRole(Role role);

    //在user详情中查询role id
    Integer queryRoleIdForUserDetail(@Param("id") Integer id);

    //删除角色与权限中间表数据
    void deleteRolePermissionDetail(@Param("id") Integer id);

    //删除角色与菜单中间表数据
    void deleteMenuAndRole(@Param("id")Integer id);

    //删除角色
    void deleteRole(@Param("id")Integer id);

    //查询所有role数据
    List<Role> queryAllRole();

    //查询user对应role
    List<Role> queryRoleForUserId(@Param("userId") Integer id);
}
